home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / msdos / gen15khz.h < prev    next >
C/C++ Source or Header  |  1999-12-26  |  2KB  |  68 lines

  1. #include "TwkUser.h"
  2. /* monitor types */
  3. #include "monitors.h"
  4.  
  5. /* generic VGA CRTC register indexes */
  6. #define    HZ_DISPLAY_TOTAL    0x00
  7. #define    HZ_DISPLAY_END        0x01
  8. #define    CRTC_OVERFLOW        0x07
  9. #define    VT_DISPLAY_END        0x12
  10. #define    MEM_OFFSET            0x13
  11.  
  12. /* indices into our register array */
  13. #define    CLOCK_INDEX                0
  14. #define    H_TOTAL_INDEX            1
  15. #define    H_DISPLAY_INDEX            2
  16. #define    H_BLANKING_START_INDEX    3
  17. #define    H_BLANKING_END_INDEX    4
  18. #define    H_RETRACE_START_INDEX    5
  19. #define    H_RETRACE_END_INDEX        6
  20. #define    V_TOTAL_INDEX            7
  21. #define    OVERFLOW_INDEX            8
  22. #define    MAXIMUM_SCANLINE_INDEX    10
  23. #define    V_RETRACE_START_INDEX    11
  24. #define    V_RETRACE_END_INDEX        12
  25. #define    V_END_INDEX                13
  26. #define    MEM_OFFSET_INDEX        14
  27. #define    UNDERLINE_LOC_INDEX        15
  28. #define    V_BLANKING_START_INDEX    16
  29. #define    V_BLANKING_END_INDEX    17
  30. #define MODE_CONTROL_INDEX        18
  31. #define    MEMORY_MODE_INDEX        20
  32.  
  33.  
  34. /* generic VGA functions */
  35. int    readCRTC(int nIndex);
  36. int    getVtEndDisplay(void);
  37.  
  38. /* tweak values */
  39. extern unsigned char tw640x480arc_h;
  40. extern unsigned char tw640x480arc_v;
  41.  
  42. /* structure for 15.75KHz SVGA drivers */
  43. typedef struct
  44. {
  45.     char name[64]; /* name of chipset/card */
  46.     int (*detectsvgacard)(void);    /* checks for a specific chipset */
  47.     int (*getlogicalwidth)(int width);    /*the logical width of the mode created */
  48.     int (*setSVGA15KHzmode)(int vdouble, int width, int height);  /* set's 15.75KHz SVGA mode */
  49.     void (*resetSVGA15KHzmode)(void);  /* clears up 15.75KHz SVGA mode */
  50. } SVGA15KHZDRIVER;
  51.  
  52. /* find the driver for the card */
  53. int getSVGA15KHzdriver(SVGA15KHZDRIVER **driver15KHz);
  54.  
  55. /* our 'generic' SVGA 15.75KHz functions */
  56. int genericsvga(void);
  57. int widthgeneric15KHz(int width);
  58. int setgeneric15KHz(int vdouble, int width, int height);
  59. void resetgeneric15KHz(void);
  60.  
  61. /* functions for allowing interlaced display to update both odd/even fields */
  62. /* before app continues */
  63. void setinterlaceflag(int interlaced);
  64. void interlace_sync(void);
  65. int sup_15Khz_res(int width,int height);
  66.  
  67. void vsync(void);
  68.